package com.sh3h.generator.web.dtos;

import com.sh3h.generator.web.domain.GenTable;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 代码生成表
 *
 * @TableName gen_table
 */
@Data
public class GenTableDto implements Serializable {
    /**
     * id
     */
    private String id;

    /**
     * 表名
     */
    private String tableName;

    /**
     * 类名
     */
    private String className;

    /**
     * 说明
     */
    private String tableComment;

    /**
     * 作者
     */
    private String author;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 项目包名
     */
    private String packageName;

    /**
     * 项目版本号
     */
    private String version;

    /**
     * 生成方式  0：zip压缩包   1：自定义目录
     */
    private Integer generatorType;

    /**
     * 后端生成路径
     */
    private String backendPath;

    /**
     * 前端生成路径
     */
    private String frontendPath;

    /**
     * 模块名
     */
    private String moduleName;

    /**
     * 功能名
     */
    private String functionName;

    /**
     * 表单布局  1：一列   2：两列
     */
    private Integer formLayout;

    /**
     * 数据源ID
     */
    private Long datasourceId;

    /**
     * 基类ID
     */
    private Long baseclassId;

    /**
     * 创建时间
     */
    private Date createTime;

    private static final long serialVersionUID = 1L;

    public static GenTable ToModal(GenTableDto dto) {
        GenTable datasource = new GenTable();
        datasource.setId(dto.getId());
        datasource.setDatasourceId(dto.getDatasourceId());
        datasource.setBackendPath(dto.getBackendPath());
        datasource.setAuthor(dto.getAuthor());
        datasource.setEmail(dto.getEmail());
        datasource.setBaseclassId(dto.getBaseclassId());
        datasource.setClassName(dto.getClassName());
        datasource.setPackageName(dto.getPackageName());
        datasource.setFormLayout(dto.getFormLayout());
        datasource.setTableComment(dto.getTableComment());
        datasource.setCreateTime(dto.getCreateTime());
        datasource.setModuleName(dto.getModuleName());
        datasource.setGeneratorType(dto.getGeneratorType());
        datasource.setFunctionName(dto.getFunctionName());
        return datasource;
    }
}